<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
<!-- qtquick-connection-editor-properties.qdoc -->
  <title>Specifying Dynamic Properties | Qt Creator Manual</title>
  <link rel="stylesheet" type="text/css" href="style/offline-simple.css" />
  <script type="text/javascript">
    document.getElementsByTagName("link").item(0).setAttribute("href", "style/offline.css");
    // loading style sheet breaks anchors that were jumped to before
    // so force jumping to anchor again
    setTimeout(function() {
        var anchor = location.hash;
        // need to jump to different anchor first (e.g. none)
        location.hash = "#";
        setTimeout(function() {
            location.hash = anchor;
        }, 0);
    }, 0);
  </script>
</head>
<body>
<div class="header" id="qtdocheader">
  <div class="main">
    <div class="main-rounded">
      <div class="navigationbar">
        <table><tr>
<td ><a href="index.html">Qt Creator Manual</a></td><td >Specifying Dynamic Properties</td></tr></table><table class="buildversion"><tr>
<td id="buildversion" width="100%" align="right"><a href="index.html">Qt Creator Manual 4.11.1</a></td>
        </tr></table>
      </div>
    </div>
<div class="content">
<div class="line">
<div class="content mainContent">
  <link rel="prev" href="qmldesigner-connections.html" />
  <link rel="next" href="quick-property-bindings.html" />
<p class="naviNextPrevious headerNavi">
<a class="prevPage" href="qmldesigner-connections.html">Adding Connections</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="quick-property-bindings.html">Adding Bindings Between Properties</a>
</p><p/>
<div class="sidebar"><div class="sidebar-content" id="sidebar-content"></div></div>
<h1 class="title">Specifying Dynamic Properties</h1>
<span class="subtitle"></span>
<!-- $$$quick-dynamic-properties.html-description -->
<div class="descr"> <a name="details"></a>
<p>In addition to the properties predefined for QML types, you can specify <i>dynamic properties</i> to add properties that would not otherwise exist for a particular type. You bind the properties to dynamic expressions to define global properties for an object that can be read by other objects. For example, you can specify global properties for the root object that you can use in the child objects.</p>
<p>For example, to specify spacing between UI elements, you could define a margin for an object of a QML type that does not have a margin property, and then use bindings to refer to the value of the margin property from other objects.</p>
<p>Similarly, you can add dynamic properties at component level.</p>
<p>You can specify dynamic properties for objects in the <b>Connections</b> view.</p>
<p class="centerAlign"><img src="images/qmldesigner-dynamicprops.png" alt="" /></p><p>To specify dynamic properties for an object:</p>
<ol class="1" type="1"><li>In the <b>Connections</b> view, select the <b>Properties</b> tab.</li>
<li>Select the <img src="images/plus.png" alt="" /> (<b>Add</b>) button to add a dynamic property for the currently selected item. The item ID is displayed in the <b>Item</b> column.</li>
<li>Double-click the value in the <b>Property</b> column to give a name to the property.</li>
<li>Double-click the value in the <b>Property Type</b> column to specify the type of the property.</li>
<li>Double-click the value in the <b>Property Value</b> column to specify a dynamic expression as the value of the property.</li>
</ol>
</div>
<!-- @@@quick-dynamic-properties.html -->
<p class="naviNextPrevious footerNavi">
<a class="prevPage" href="qmldesigner-connections.html">Adding Connections</a>
<span class="naviSeparator">  &#9702;  </span>
<a class="nextPage" href="quick-property-bindings.html">Adding Bindings Between Properties</a>
</p>
        </div>
       </div>
   </div>
   </div>
</div>
<div class="footer">
   <p>
   <acronym title="Copyright">&copy;</acronym> 2019 The Qt Company Ltd.
   Documentation contributions included herein are the copyrights of
   their respective owners.<br>    The documentation provided herein is licensed under the terms of the    <a href="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation    License version 1.3</a> as published by the Free Software Foundation.<br>    Qt and respective logos are trademarks of The Qt Company Ltd.     in Finland and/or other countries worldwide. All other trademarks are property
   of their respective owners. </p>
</div>
</body>
</html>
